Skip to content

[AbsInt] Improve implementation of abstract domains#2485

Open
OliverGerstl wants to merge 8 commits into
mainfrom
2484-absint-improve-implementation-of-abstract-domains
Open

[AbsInt] Improve implementation of abstract domains#2485
OliverGerstl wants to merge 8 commits into
mainfrom
2484-absint-improve-implementation-of-abstract-domains

Conversation

@OliverGerstl

Copy link
Copy Markdown
Collaborator

No description provided.

@OliverGerstl OliverGerstl self-assigned this May 15, 2026
@OliverGerstl OliverGerstl linked an issue May 15, 2026 that may be closed by this pull request
@OliverGerstl OliverGerstl marked this pull request as ready for review June 17, 2026 09:12
@OliverGerstl OliverGerstl requested a review from EagleoutIce June 17, 2026 09:14

@EagleoutIce EagleoutIce left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a quick pass for now, i have not yet checked whether all changes are applied consistently but the gneeral change looks clear :)

@@ -4,18 +4,17 @@ import { SetRangeDomain } from '../domains/set-range-domain';

/** The type of the abstract product representing the shape of data frames */
export type AbstractDataFrameShape = {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why not have it as an interface?

case NumericalComparator.Equal: {
if(this.isValue() && this.value[0] <= value && value <= this.value[1]) {
return this.value[0] === this.value[1] ? Ternary.Always : Ternary.Maybe;
if(this.isValue() && this.lower <= value && value <= this.upper) {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so we consistently consider top to be a value but bottom to be no value?

/**
* Represents the different types of set comparators for satisfiability checks for an abstract domain.
*/
export enum SetComparator {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe also an interest of Intersect and NoIntersect? Especially if we want to blacklis some results?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[AbsInt] Improve implementation of abstract domains

2 participants